This invention is related to wireless networks, and in particular to a MAC controller and method for MAC processing that obtains data for wireless transmission directly from memory across a packet network link.
FIG. 1 shows a traditional prior-art wireless network connection 100, e.g., for a wireless local area network (WLAN) that conforms to one of the IEEE 802.11 standards. The radio part 101 includes one or more antennas 103 that are coupled to a radio transceiver 105 including an analog RF part and a digital modem. The digital modem of radio 101 is coupled to a MAC processor 107 that implements the MAC protocol. The MAC processor 107 is connected via one or more busses, shown symbolically as a single bus subsystem 111, to a host processor. The host processor includes a memory, e.g., RAM connected to the host bus, shown here as part of the bus subsystem 111.
In implementing the MAC protocol, e.g., the IEEE 802.11 MAC protocol, the MAC processor 107 decides which MAC packets to transmit at what time. A typical prior art MAC processor 107 includes a fast but relatively small local memory, shown as MAC memory 109 in FIG. 1 that makes sure the MAC processor has fast access to the packets it needs to transmit. The host processor decides which MAC packets the MAC processor is likely to need, and sends such packets to be included in the local MAC memory 109. When there are one or more packets to transmit, the MAC processor then takes such packets from its MAC memory 109.
One problem that can occur is when the local MAC memory does not contain the packet the MAC processor 107 needs to transmit. The transmission is then slowed down while the MAC processor obtains the required packet from the host memory 115 via the bus subsystem 111 and loads it into its local MAC memory 109.
It is desired to reduce the problems that occur with such misses, or even to eliminate the need for the local MAC memory to hold the packets for transmission so that such misses are less likely.
There recently has been a move to move more and more of the MAC processing functions to the host processor. The host, for example, may implement a WLAN access point. By moving more and more of the functionality to software on the host, more flexibility is achieved. Such an arrangement can also help eliminate the misses described above of the MAC processing not having the required packets in its local MAC memory 109.
In one such arrangement, the MAC processing functions are divided between a “Lower MAC” that implements in hardware such aspects as interfacing to the physical radio (the PHY) 101, encryption, and the actual receiving and sending of MAC packets. The Lower MAC may be implemented using a processor and includes a local memory. The “Higher MAC” functions, i.e., the remaining MAC functions are implemented in software running on a host processor. The Lower MAC is coupled to the host processor via a bus subsystem.
When to-be-transmitted packets are ready, the host passes information to the Lower MAC on such packets. The information, for example, may include information on where the payload for the MAC packets resides in the host memory. This information is stored locally on the Lower MAC. When the Lower MAC is set up to transmit the to-be-transmitted MAC packets, the Lower MAC sets up a DMA transfer of the required data. The data is then passed to the Lower MAC processor via DMA from the host.
This avoids the miss situation of the prior-art method that includes the host predicting and pre-loading the local MAC memory with to-be-transmitted packets.
There has recently been a desire to move more of the intelligence of a station used as an access point to the switch. For example, it may be that some of the MAC functionality will be carried out in a switch to which the access point is connected.
There is thus a need in the art for a mechanism that provides for more of the MAC functionality to reside in a device remote from the wireless station itself.